Controlling device and controlling method

ABSTRACT

A preferential upper limit processing section L_MH 1  limits the value of a pre-input manipulated variable output upper limit MH 1  so as to adjust a manipulated variable output MV 1  of a preferential controller PID 1  to a predetermined value MT 1  or less. A non-preferential upper limit calculating section C_MH2 calculates a manipulated variable output upper limit MH 2  of a non-preferential controller PID 2  so as to adjust the sum of manipulated variable outputs MV 1  and MV 2  to the predetermined value MT 1  or less. A preferential upper limit calculating section C_MH 1  performs calculation of increasing/decreasing the manipulated variable output upper limit MH 1  of the controller PID 1  in accordance with the margin of the manipulated variable output MV 2  of the controller PID 2  with respect to the manipulated variable output upper limit value MH 2,  and sets the calculated value as a manipulated variable output upper limit value MH 1 ′ in the next control cycle.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to a controlling device and controlling method which perform control using a plurality of controllers within a predetermined energy consumption amount.

[0002] There has conventionally been known an apparatus (e.g., a semiconductor manufacturing apparatus using an electric heater as an actuator) which has a plurality of loops of a control system within one apparatus. This apparatus can prioritize and control the controllers of the respective control loops when the control characteristics of all the control loops are not so important. Controlling the controllers with priorities can suppress the power consumption amount (i.e., energy consumption amount). Assume that two control loops exist for a maximum heater output of 400 W. If these two controllers are controlled without any priority, the power equipment such as a power supply must provide 800 W; if these controllers are prioritized and controlled, the power equipment can be downsized.

[0003] Controllers are prioritized and controlled by a conventional method (to be referred to as the first prior art hereinafter) of sequentially operating them from a high-priority controller and operating lower-priority controllers within the remaining ability (feedable power amount). As another method, the abilities of controllers are lowered in accordance with a controller having the lowest operation speed (to be referred to as the second prior art hereinafter).

[0004] In the first prior art, a high-priority controller excessively takes precedence, and a low-priority controller hardly functions, failing to obtain the controllability of the low-priority controller. To operate even the low-priority controller, the ability of the overall apparatus must be increased, resulting in a large energy consumption amount and a bulky apparatus. In the first prior art, when controllers are set such that they operate within only fixed abilities designed in advance for the respective controllers on the basis of priority, the usable ability of the overall apparatus cannot be used up, leaving an unused ability.

[0005] In the second prior art, the ability of a high-priority controller is wasted. This means that a low-ability controller suffices to be used from the first, and sacrifices the controllability.

SUMMARY OF THE INVENTION

[0006] The present invention has been made to overcome the conventional drawbacks, and has as its object to provide a controlling device and controlling method capable of satisfying both the controllability and energy consumption amount of each controller within an acceptable range.

[0007] A controlling device according to the present invention comprises (1) a preferential controller (PID1) which calculates a manipulated variable output (MV1) in accordance with a first manipulated variable output upper limit (MH1), (2) a non-preferential controller (PID2) which calculates a manipulated variable output (MV2) in accordance with a second manipulated variable output upper limit (MH2), (3) a preferential upper limit processing section (L_MH1) which limits a value of the first manipulated variable output upper limit input in advance and gives the first manipulated variable output upper limit to the preferential controller so as to adjust the manipulated variable output of the preferential controller to not more than a predetermined value (MT1) representing a manipulated variable output upper limit of a whole apparatus, (4) a non-preferential upper limit calculating section (C_MH2) which calculates the second manipulated variable output upper limit and gives the second manipulated variable output upper limit to the non-preferential controller so as to adjust a sum of the manipulated variable outputs of the preferential and non-preferential controllers to not more than the predetermined value, and (5) a preferential upper limit calculating section (C_MH1) which performs calculation of increasing/decreasing the first manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the non-preferential controller with respect to the second manipulated variable output upper limit, and gives a calculated value as the first manipulated variable output upper limit (MH1′) in a next control cycle to the preferential upper limit processing section.

[0008] A controlling device according to the present invention comprises (1) first to mth controllers (PID1-PIDm) which are assigned first to mth (m is n−1) priorities in advance and calculate manipulated variable outputs (MV1-MVm) in accordance with first to mth corresponding manipulated variable output upper limits (MH1-MHm), (2) an nth controller (PIDn) which is assigned a lowest priority in advance and calculates a manipulated variable output (MVn) in accordance with an nth manipulated variable output upper limit (MHn), (3) first to mth preferential upper limit processing sections (L_MH1-L_MHm) which are arranged for k (k is an integer of 1 to m) controllers, limit a value of a kth manipulated variable output upper limit input in advance, and give the k manipulated variable output upper limit to a kth controller so as to adjust a sum of the manipulated variable outputs of the first to kth controllers to not more than a predetermined value (MT1) representing a manipulated variable output upper limit of a whole apparatus, (4) a non-preferential upper limit calculating section (C_MHn) which calculates the nth manipulated variable output upper limit and gives the nth manipulated variable output upper limit to the nth controller so as to adjust a sum of the manipulated variable outputs of the first to mth and nth controllers to not more than the predetermined value, and (5) first to mth preferential upper limit calculating sections (C_MH1-C_MHm) which are arranged for the k controllers, perform calculation of increasing/decreasing the k manipulated variable output upper limit in accordance with a margin of the manipulated variable outputs of a (k+1)th controller with respect to a (k+1)th manipulated variable output upper limit, and give a calculated value as the kth manipulated variable output upper limit (MH1′-MHm′) in a next control cycle to a kth preferential upper limit processing section.

[0009] As an arrangement example of the controlling device according to the present invention, the preferential upper limit calculating section increases the first manipulated variable output upper limit when the manipulated variable output of the non-preferential controller has a margin with respect to the second manipulated variable output upper limit, decreases the first manipulated variable output upper limit when the manipulated variable output does not have any margin, and changes a degree of decrease in accordance with priority of the preferential controller with respect to the non-preferential controller.

[0010] As another arrangement example of the controlling device according to the present invention, the kth preferential upper limit calculating section for the kth controller increases the kth manipulated variable output upper limit when the manipulated variable output of the (k+1)th controller has a margin with respect to the (k+1)th manipulated variable output upper limit, decreases the kth manipulated variable output upper limit when the manipulated variable output does not have any margin, and changes a degree of decrease in accordance with priority of the kth controller with respect to the (k+1)th controller.

[0011] In a controlling device which performs control using two, preferential and non-preferential controllers within a predetermined energy consumption amount, a control method according to the present invention comprises repetitively performing (1) preferential upper limit processing of limiting a value of a first manipulated variable output upper limit (MH1) input in advance so as to adjust a manipulated variable output of the preferential controller (PID1) to not more than a predetermined value (MT1) representing a manipulated variable output upper limit of a whole apparatus, (2) preferential manipulated variable output calculation processing of calculating a manipulated variable output (MV1) by the preferential controller in accordance with the first manipulated variable output upper limit, (3) non-preferential upper limit calculation processing of calculating a second manipulated variable output upper limit (MH2) so as to adjust a sum of manipulated variable outputs of the preferential controller and the non-preferential controller (PID2) to not more than the predetermined value, (4) non-preferential manipulated variable output calculation processing of calculating a manipulated variable output (MV2) by the non-preferential controller in accordance with the second manipulated variable output upper limit, and (5) preferential upper limit calculation processing of performing calculation of increasing/decreasing the first manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the non-preferential controller with respect to the second manipulated variable output upper limit, and giving a calculated value as the first manipulated variable output upper limit in a next control cycle to the preferential upper limit processing.

[0012] In a controlling device which performs control using n controllers assigned first to nth (n is an integer of not less than three) priorities in advance within a predetermined energy consumption amount, a control method according to the present invention comprises performing (1) first preferential upper limit processing of limiting a value of a first manipulated variable output upper limit (MH1) input in advance so as to adjust a manipulated variable output of a first controller (PID1) to not more than a predetermined value (MT1) representing a manipulated variable output upper limit of a whole apparatus, (2) first preferential manipulated variable output calculation processing of calculating a manipulated variable output (MV1) by the first controller in accordance with the first manipulated variable output upper limit, (3) second preferential upper limit processing of calculating a second manipulated variable output upper limit (MH2) so as to adjust a sum of manipulated variable outputs of the first controller and a second controller (PID2) to not more than the predetermined value, (4) second preferential manipulated variable output calculation processing of calculating a manipulated variable output (MV2) by the second controller in accordance with the second manipulated variable output upper limit, and (5) first preferential upper limit calculation processing of performing calculation of increasing/decreasing the first manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the second controller with respect to the second manipulated variable output upper limit, and giving a calculated value as the first manipulated variable output upper limit in a next control cycle to the first preferential upper limit processing, sequentially performing (6) three processes for i (i is an integer of 3 to m) controllers: ith preferential upper limit processing of limiting a value of an ith manipulated variable output upper limit input in advance so as to adjust a sum of manipulated variable outputs of the first to ith controllers to not more than the predetermined value, ith preferential manipulated variable output calculation processing of calculating the manipulated variable output by the ith controller in accordance with the ith manipulated variable output upper limit, and (i−1)th preferential upper limit calculation processing of performing calculation of increasing/decreasing an (i−1)th manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the ith controller with respect to the ith manipulated variable output upper limit, and giving a calculated value as the (i−1)th manipulated variable output upper limit in a next control cycle to the (i−1)th preferential upper limit processing, performing (7) non-preferential upper limit calculation processing of calculating an nth manipulated variable output upper limit so as to adjust a sum of manipulated variable outputs of the first to mth and nth controllers to not more than the predetermined value, (8) non-preferential manipulated variable output calculation processing of calculating a manipulated variable output (MVn) by the nth controller in accordance with the nth manipulated variable output upper limit, and (9) mth preferential upper limit calculation processing of performing calculation of increasing/decreasing an mth manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the nth controller with respect to the nth manipulated variable output upper limit, and giving a calculated value as the mth manipulated variable output upper limit (MHm′) in a next control cycle to mth preferential upper limit processing, and repetitively performing processing in (1) to (9).

[0013] As a processing example of the control method according to the present invention, the preferential upper limit calculation processing includes processing of increasing the first manipulated variable output upper limit when the manipulated variable output of the non-preferential controller has a margin with respect to the second manipulated variable output upper limit, decreasing the first manipulated variable output upper limit when the manipulated variable output does not have any margin, and changing a degree of decrease in accordance with priority of the preferential controller with respect to the non-preferential controller.

[0014] As another processing example of the control method according to the present invention, kth preferential upper limit calculation processing for the kth (k is an integer of 1 to m) controller includes processing of increasing the kth manipulated variable output upper limit when a manipulated variable output of the (k+1)th controller has a margin with respect to the (k+1)th manipulated variable output upper limit, decreasing the kth manipulated variable output upper limit when the manipulated variable output does not have any margin, and changing a degree of decrease in accordance with priority of the kth controller with respect to the (k+1)th controller.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 is a block diagram showing the arrangement of a controlling device according to the first embodiment of the present invention;

[0016]FIG. 2 is a flow chart showing the operation of the controlling device in FIG. 1;

[0017]FIG. 3 shows tables of control operation examples of the controlling device in FIG. 1;

[0018]FIG. 4 is a block diagram showing the arrangement of a controlling device according to the second embodiment of the present invention; and

[0019]FIG. 5 is a flow chart showing the operation of the controlling device in FIG. 4.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] [First Embodiment]

[0021] The first embodiment of the present invention will be described in detail below with reference to the accompanying drawings. FIG. 1 is a block diagram showing the arrangement of a controlling device according to the first embodiment of the present invention. The controlling device in FIG. 1 comprises a preferential controller PID1, non-preferential controller PID2, preferential upper limit processing section L_MH1, non-preferential upper limit calculating section C_MH2, and preferential upper limit calculating section C_MH1.

[0022] When the control characteristics of control loops are not so important in an apparatus (semiconductor manufacturing apparatus or the like) having two loops of a control system using, e.g., an electric heater as an actuator in one apparatus, the first embodiment can be applied to these two loops. In this case, the controller of a control loop whose control characteristic is important is a preferential controller, and the controller of a control loop whose control characteristic is not so important is a non-preferential controller.

[0023] The operation of the controlling device according to the first embodiment will be explained. FIG. 2 is a flow chart showing the operation of the controlling device in FIG. 1. The preferential upper limit processing section L_MH1 compares a manipulated variable output upper limit value MH1 representing the upper limit of a manipulated variable output MV1 from the preferential controller PID1 with a predetermined value MT1 (e.g., 100%) representing a preset manipulated variable output upper limit of the whole apparatus. If the manipulated variable output upper limit value MH1 is larger than the predetermined value MT1, the preferential upper limit processing section L_MH1 executes upper limit processing of setting MH1=MT1, i.e., setting the predetermined value MT1 as a new manipulated variable output upper limit value MH1 (step 101 in FIG. 2).

[0024] The preferential upper limit processing section L_MH1 outputs the updated manipulated variable output upper limit value MH1 to the preferential controller PID1 and preferential upper limit calculating section C_MH1. If the manipulated variable output upper limit value MH1 is equal to or smaller than the predetermined value MT1, the preferential upper limit processing section L_MH1 need not update the manipulated variable output upper limit value MH1 and directly outputs the current manipulated variable output upper limit value MH1. The default value of the manipulated variable output upper limit value MH1 in the first control cycle is set to, e.g., 100%.

[0025] The preferential controller PID1 executes PID calculation to calculate the manipulated variable output MV1 (step 102).

[0026] In step 102, the preferential controller PID1 calculates by PID calculation an internal output value UC1 as a manipulated variable before upper limit processing based on the manipulated variable output upper limit value MH1:

UC 1=Kg 1{1+1/(Ti 1 s)+Td 1 s)(SP 1−PV 1)   (1)

[0027] where Kg1 is the proportional gain of the controller PID1, Ti1 is the integral time of the controller PID1, Td1 is the derivative time of the controller PID1, SP1 is the set point set for an object (not shown) to be controlled by the controller PID1, and PV1 is the controlled variable of this object. The proportional gain Kg1, integral time Ti1, derivative time Td1, and set point SP1 are set in advance, and the controlled variable PV1 is detected by a sensor (not shown).

[0028] The preferential controller PID1 compares the calculated internal output value UC1 and the manipulated variable output upper limit value MH1 output from the preferential upper limit processing section L_MH1. If the internal output value UC1 is larger than the manipulated variable output upper limit value MH1, the preferential controller PID1 executes upper limit processing of setting MV1=MH1, i.e., setting the manipulated variable output upper limit value MH1 as the manipulated variable output MV1. If the internal output value UC1 is equal to or smaller than the manipulated variable output upper limit value MH1, the preferential controller PID1 sets MV1=UC1, i.e., sets the internal output value UC1 as the manipulated variable output MV1.

[0029] The preferential controller PID1 outputs the calculated manipulated variable output MV1 to the object to be controlled (not shown) and the non-preferential upper limit calculating section C_MH2. At the same time, the preferential controller PID1 outputs the internal output value UC1 to the preferential upper limit calculating section C_MH1.

[0030] Processing in step 102 then ends.

[0031] The non-preferential upper limit calculating section C_MH2 calculates a manipulated variable output upper limit value MH2 representing the upper limit of a manipulated variable output MV2 from the non-preferential controller PID2, and outputs the manipulated variable output upper limit value MH2 to the non-preferential controller PID2 (step 103):

MH2=MT1−MV1   (2)

[0032] The non-preferential controller PID2 executes PID calculation to calculate the manipulated variable output MV2 (step 104).

[0033] In step 104, the non-preferential controller PID2 calculates by PID calculation an internal output value UC2 as a manipulated variable before upper limit processing based on the manipulated variable output upper limit value MH2:

UC 2=Kg 2{1+1/(Ti 2 s)+Td 2 s}(SP 2−PV 2)   (3)

[0034] where Kg2 is the proportional gain of the controller PID2, Ti2 is the integral time of the controller PID2, Td2 is the derivative time of the controller PID2, SP2 is the set point set for an object (not shown) to be controlled by the controller PID2, and PV2 is the controlled variable of this object. The proportional gain Kg2, integral time Ti2, derivative time Td2, and set point SP2 are set in advance, and the controlled variable PV2 is detected by a sensor (not shown).

[0035] The non-preferential controller PID2 compares the calculated internal output value UC2 and the manipulated variable output upper limit value MH2 output from the non-preferential upper limit calculating section C_MH2. If the internal output value UC2 is larger than the manipulated variable output upper limit value MH2, the non-preferential controller PID2 executes upper limit processing of setting MV2=MH2, i.e., setting the manipulated variable output upper limit value MH2 as the manipulated variable output MV2. If the internal output value UC2 is equal to or smaller than the manipulated variable output upper limit value MH2, the non-preferential controller PID2 sets MV2=UC2, i.e., sets the internal output value UC2 as the manipulated variable output MV2.

[0036] The non-preferential controller PID2 outputs the calculated manipulated variable output MV2 to the object to be controlled (not shown) and the preferential upper limit calculating section C_MH1. At the same time, the non-preferential controller PID2 outputs the internal output value UC2 to the preferential upper limit calculating section C_MH1.

[0037] Processing in step 104 then ends.

[0038] The preferential upper limit calculating section C_MH1 calculates a manipulated variable output upper limit value MH1′ in the next control cycle for the preferential controller PID1 (step 105).

[0039] In step 105, the preferential upper limit calculating section C_MH1 checks whether the following inequality is established on the basis of the internal output value UC2 and manipulated variable output MV2 output from the non-preferential controller PID2:

α(UC 2−MV 2)>0   (4)

[0040] where α is the priority coefficient representing the control priority of the preferential controller PID1 with respect to the non-preferential controller PID2, and takes a real number of 0 to 1 (priority is highest for 0, and lowest for 1).

[0041] If inequality (4) is established, the preferential upper limit calculating section C_MH1 calculates by the following equation the manipulated variable output upper limit value MH1′ in the next control cycle for the preferential controller PID1 on the basis of the manipulated variable output upper limit value MH1 in the current control cycle output from the preferential upper limit processing section L_MH1, the internal output value UC1 output from the preferential controller PID1, and the manipulated variable output MV2 and internal output value UC2 output from the non-preferential controller PID2. The preferential upper limit calculating section C_MH1 outputs the manipulated variable output upper limit value MH1′ to the preferential upper limit processing section L_MH1:

MH 1′=[MH 1 Tx 1+{UC 1−α(UC 2−MV 2))dT]/(Tx 1+dT)   (5)

[0042] where Tx1 is the transition time and, e.g., Tx1=Td1, and dT is the control cycle.

[0043] If inequality (4) is not established, the preferential upper limit calculating section C_MH1 calculates the manipulated variable output upper limit value MH1′ on the basis of the predetermined value MT1, and the manipulated variable output upper limit value MH1 in the current control cycle output from the preferential upper limit processing section L_MH1, and outputs the manipulated variable output upper limit value MH1′ to the preferential upper limit processing section L_MH1:

MH 1′=[MH 1 Tx 1+MT 1 dT]/(Tx 1+dT)   (6)

[0044] Processing in step 105 then ends.

[0045] Steps 101 to 105 are defined as processing in one control cycle, and processing from step 101 to step 105 is repeated every control cycle dT.

[0046] Note that the preferential upper limit processing section L_MH1 executes processing in step 101 by setting MH1=MH1′, i.e., setting, as the manipulated variable output upper limit value MH1 in the current control cycle, the manipulated variable output upper limit value MH1′ calculated and output from the preferential upper limit calculating section C_MH1 in the preceding control cycle.

[0047] In this manner, in the first embodiment, the manipulated variable output upper limit value MH2 of the non-preferential controller PID2 is set to MT1-MV1 (step 103) in order to always maintain the sum of the manipulated variable output MV1 of the preferential controller PID1 and the manipulated variable output MV2 of the non-preferential controller PID2 at the predetermined value MT1 (e.g., 100%) or less. If inequality (4) is not established, i.e., the internal output value UC2 of the non-preferential controller PID2 has a margin with respect to the manipulated variable output upper limit value MH2 (UC2≦MH2), the manipulated variable output upper limit value MH1 of the preferential controller PID1 is increased using equation (6) to make the manipulated variable output upper limit value MH1 asymptotically come close to the predetermined value MT1 (step 105). As a result, the preferential controller PID1 can output a larger manipulated variable output MV1. At this time, the transition time Tx1 is the time until the manipulated variable output upper limit value MH1 shifts to the predetermined value MT1 (accurately, the manipulated variable output upper limit value MH1 changes to 63.2% for a time of 100% between the manipulated variable output upper limit value MH1 and the predetermined value MT1).

[0048] If inequality (4) is established, i.e., the internal output value UC2 of the non-preferential controller PID2 does not have any margin with respect to the manipulated variable output upper limit value MH2 (UC2>MH2), the manipulated variable output upper limit value MH1 of the preferential controller PID1 is asymptotically adjusted in a direction in which the manipulated variable output upper limit value MH1 decreases by an output shortage (UC2-MV2) of the non-preferential controller PID2 (step 105). This suppresses the manipulated variable output MV1 of the preferential controller PID1. At this time, the transition time Tx1 is the time until the manipulated variable output upper limit value MH1 shifts to UC1-(UC2-MV2).

[0049] When inequality (4) is established and the manipulated variable output upper limit value MH1 of the preferential controller PID1 is to be decreased, the output shortage (UC2-MV2) of the non-preferential controller PID2 serving as the decrease index is multiplied by the priority coefficient α. By adjusting the value of the priority coefficient α, excessive precedence of the preferential controller PID1 can be prevented, and the controllability of the non-preferential controller PID2 can also be properly maintained within a possible range.

[0050]FIG. 3 shows tables of control operation examples of the controlling device according to the first embodiment. FIG. 3 shows the simulation results of calculating the controlled variables PV1 and PV2 when disturbance is applied in 600 sec and the set point SP1 of the preferential controller PID1 is changed from 30% to 40% in 900 sec.

[0051] As shown in FIG. 3A, for the highest priority of the preferential controller PID1 (α=0), control of the non-preferential controller PID2 degrades when disturbance is applied in the first half of FIG. 3A and the preferential set point SP1 is changed in the second half of FIG. 3A. However, control of the preferential controller PID1 responses fastest.

[0052] As shown in FIG. 3B, for the lowest priority of the preferential controller PID1 (α=1), control of the non-preferential controller PID2 does not greatly degrade when disturbance is applied in the first half of FIG. 3B and the preferential set point SP1 is changed in the second half of FIG. 3B. However, control of the preferential controller PID1 responses slowly, compared to the fastest response.

[0053] In this way, the first embodiment can maintain the sum of the manipulated variable outputs MV1 and MV2 of two loops at the predetermined value MT1 or less, and can maintain the high-priority controlled variable PV1 in a good control state.

[0054] In the above-described application, the heater output may be given in time-proportional time division. For example, for two loops of a system having a maximum heater output of 400 W, the sum of the manipulated variable outputs of the two loops is maintained at 100% or less. This requires only a 400-W power equipment (energy supply source) such as a power supply, reducing the apparatus size and cost. If the present invention is not applied, an 800-W power equipment is required.

[0055] According to the first embodiment, the first manipulated variable output upper limit value input in advance is limited and given to a preferential controller such that the manipulated variable output of the preferential controller becomes equal to or smaller than a predetermined value representing the manipulated variable output upper limit of the whole apparatus. The second manipulated variable output upper limit is calculated and given to a non-preferential controller such that the sum of the manipulated variable outputs of the preferential and non-preferential controllers becomes equal to or smaller than the predetermined value. Calculation of increasing/decreasing the first manipulated variable output upper limit in accordance with the margin of the manipulated variable output of the non-preferential controller with respect to the second manipulated variable output upper limit is performed. The calculated value is set as the first manipulated variable output upper limit in the next control cycle. Hence, good controllability can be obtained for the preferential controller while maintaining the sum of the manipulated variable outputs of the two loops at the predetermined value or less. The controllability of even the non-preferential controller can also be maintained at a given degree. The controllability and energy consumption amount of each controller can be satisfied within an acceptable range. As a result, the controllability of each controller and downsizing of the controlling device can be met. The usable ability of the controlling device can be fully exploited. When the manipulated variable output of the non-preferential controller does not have any margin with respect to the second manipulated variable output upper limit, the first manipulated variable output upper limit is decreased. The degree of decrease is changed in accordance with the priority of the preferential controller with respect to the non-preferential controller. Excessive precedence of the preferential controller can be prevented, and even the controllability of the non-preferential controller can also be properly maintained within a possible range.

[0056] [Second Embodiment]

[0057]FIG. 4 is a block diagram showing the arrangement of a controlling device according to the second embodiment of the present invention. The controlling device in FIG. 4 comprises first to mth preferential controllers PID1 to PIDm assigned the first to mth (m is an integer of 2 or more) priorities, a non-preferential controller (nth controller) PIDn assigned the lowest priority in advance, first to mth preferential upper limit processing sections L_MH1 to L_MHm respectively arranged in correspondence with the preferential controllers PID1 to PIDm, a non-preferential upper limit calculating section C_MHn arranged in correspondence with the non-preferential controller PIDn, and first to mth preferential upper limit calculating sections C_MH1 to C_MHm arranged in correspondence with the preferential controllers PID1 to PIDm.

[0058] When the control characteristics of control loops are not so important in accordance with their priorities in an apparatus (semiconductor manufacturing apparatus or the like) having n (n is an integer of 3 or more: n=m+1) loops of a control system using, e.g., an electric heater as an actuator in one apparatus, the second embodiment can be applied to these n loops.

[0059] The operation of the controlling device according to the second embodiment will be explained. FIG. 5 is a flow chart showing the operation of the controlling device in FIG. 4. In this case, the priority order is PID1, PID2, PID3, . . . , PIDm, and PIDn.

[0060] The first preferential upper limit processing section L_MH1 compares a manipulated variable output upper limit value MH1 of the first preferential controller PID1 having the highest priority with a predetermined value MT1 (e.g., 100%). If the manipulated variable output upper limit value MH1 is larger than the predetermined value MT1, the first preferential upper limit processing section L_MH1 executes upper limit processing of setting MH1=MT1, i.e., setting the predetermined value MT1 as a new manipulated variable output upper limit value MH1 (step 201 in FIG. 5).

[0061] The first preferential upper limit processing section L_MH1 outputs the updated manipulated variable output upper limit value MH1 to the first preferential controller PID1 and first preferential upper limit calculating section C_MH1. If the manipulated variable output upper limit value MH1 is equal to or smaller than the predetermined value MT1, the first preferential upper limit processing section L_MH1 need not update the manipulated variable output upper limit value MH1 and directly outputs the current manipulated variable output upper limit value MH1.

[0062] The first preferential controller PID1 executes PID calculation to calculate the manipulated variable output MV1 (step 202).

[0063] In step 202, the first preferential controller PID1 calculates an internal output value UC1 by PID calculation:

UC 1=Kg 1{1+1/(Ti 1 s)+Td 1 s}(SP 1-PV 1)   (7)

[0064] The first preferential controller PID1 compares the calculated internal output value UC1 and the manipulated variable output upper limit value MH1 output from the first preferential upper limit processing section L_MH1. If the internal output value UC1 is larger than the manipulated variable output upper limit value MH1, the first preferential controller PID1 executes upper limit processing of setting MV1=MH1, i.e., setting the manipulated variable output upper limit value MH1 as the manipulated variable output MV1. If the internal output value UC1 is equal to or smaller than the manipulated variable output upper limit value MH1, the first preferential controller PID1 sets MV1=UC1, i.e., sets the internal output value UC1 as the manipulated variable output MV1.

[0065] The first preferential controller PID1 outputs the calculated manipulated variable output MV1 to an object to be controlled (not shown) and the second preferential upper limit processing section L_MH2. At the same time, the first preferential controller PID1 outputs the internal output value UC1 to the first preferential upper limit calculating section C_MH1.

[0066] Processing in step 202 then ends.

[0067] The second preferential upper limit processing section L_MH2 calculates an upper limit value MT2 for performing upper limit processing for a manipulated variable output upper limit value MH2 of the second preferential controller PID2 on the basis of the manipulated variable output MV1 output from the first preferential controller PID1 and the predetermined value MT1 (step 203):

MT2=MT1−MV1   (8)

[0068] The second preferential upper limit processing section L_MH2 compares the manipulated variable output upper limit value MH2 of the second preferential controller PID2 and the upper limit value MT2. If the manipulated variable output upper limit value MH2 is larger than the upper limit value MT2, the second preferential upper limit processing section L_MH2 sets MH2=MT2, i.e., the upper limit value MT2 as a new manipulated variable output upper limit value MH2 (step 204).

[0069] The second preferential upper limit processing section L_MH2 outputs the updated manipulated variable output upper limit value MH2 to the second preferential controller PID2 and second preferential upper limit calculating section C_MH2. If the manipulated variable output upper limit value MH2 is equal to or smaller than the upper limit value MT2, the second preferential upper limit processing section L_MH2 need not update the manipulated variable output upper limit value MH2, and directly outputs the current manipulated variable output upper limit value MH2.

[0070] The second preferential controller PID2 executes PID calculation to calculate a manipulated variable output MV2 (step 205).

[0071] In step 205, the second preferential controller PID2 calculates an internal output value UC2 by PID calculation:

UC 2=Kg 2(1+1/(Ti 2 s)+Td 2 s}(SP 2−PV 2)   (9)

[0072] The second preferential controller PID2 compares the calculated internal output value UC2 and the manipulated variable output upper limit value MH2 output from the second preferential upper limit processing section L_MH2. If the internal output value UC2 is larger than the manipulated variable output upper limit value MH2, the second preferential controller PID2 executes upper limit processing of setting MV2=MH2, i.e., setting the manipulated variable output upper limit value MH2 as the manipulated variable output MV2. If the internal output value UC2 is equal to or smaller than the manipulated variable output upper limit value MH2, the second preferential controller PID2 sets MV2=UC2, i.e., sets the internal output value UC2 as the manipulated variable output MV2.

[0073] The second preferential controller PID2 outputs the calculated manipulated variable output MV2 to an object to be controlled (not shown), the first preferential upper limit calculating section C_MH1, and the third preferential upper limit processing section L_MH3. At the same time, the second preferential controller PID2 outputs the internal output value UC2 to the first preferential upper limit calculating section C_MH1 and second preferential upper limit calculating section C_MH2.

[0074] Processing in step 205 then ends.

[0075] The first preferential upper limit calculating section C_MH1 calculates a manipulated variable output upper limit value MH1′ in the next control cycle for the first preferential controller PID1 (step 206).

[0076] In step 206, the first preferential upper limit calculating section C_MH1 checks whether the following inequality is established on the basis of the internal output value UC2 and manipulated variable output MV2 output from the second preferential controller PID2:

α1(UC 2−MV 2)>0   (10)

[0077] where α1 is the priority coefficient representing the control priority of the first preferential controller PID1 with respect to the second preferential controller PID2, and takes a real number of 0 to 1 (priority is highest for 0, and lowest for 1).

[0078] If inequality (10) is established, the first preferential upper limit calculating section C_MH1 calculates by the following equation the manipulated variable output upper limit value MH1′ in the next control cycle for the first preferential controller PID1 on the basis of the manipulated variable output upper limit value MH1 in the current control cycle output from the first preferential upper limit processing section L_MH1, the internal output value UC1 output from the first preferential controller PID1, and the manipulated variable output MV2 and internal output value UC2 output from the second preferential controller PID2. The first preferential upper limit calculating section C_MH1 outputs the manipulated variable output upper limit value MH1′ to the first preferential upper limit processing section L_MH1:

MH 1′=[MH 1 Tx 1+(UC 1-α1(UC 2−MV 2)}dT]/(Tx 1+dT)   (11)

[0079] If inequality (10) is not established, the first preferential upper limit calculating section C_MH1 calculates the manipulated variable output upper limit value MH1′ on the basis of the predetermined value MT1, and the manipulated variable output upper limit value MH1 in the current control cycle output from the first preferential upper limit processing section L_MH1, and outputs the manipulated variable output upper limit value MH1′ to the first preferential upper limit processing section L_MH1:

MH 1′=[MH 1 Tx 1+MT 1 dT]/(Tx 1+dT)   (12)

[0080] Processing in step 206 then ends.

[0081] The third preferential upper limit processing section L_MH3 calculates an upper limit value MT3 for performing upper limit processing for a manipulated variable output upper limit value MH3 of the third preferential controller PID3 on the basis of the manipulated variable output MV2 output from the second preferential controller PID2 and the upper limit value MT2 output from the second preferential upper limit processing section L_MH2 (step 207):

MT3=MT2−MV2   (13)

[0082] The third preferential upper limit processing section L_MH3 compares the manipulated variable output upper limit value MH3 of the third preferential controller PID3 and the upper limit value MT3. If the manipulated variable output upper limit value MH3 is larger than the upper limit value MT3, the third preferential upper limit processing section L_MH3 sets MH3=MT3, i.e., the upper limit value MT3 as a new manipulated variable output upper limit value MH3 (step 208).

[0083] The third preferential upper limit processing section L_MH3 outputs the updated manipulated variable output upper limit value MH3 to the third preferential controller PID3 and third preferential upper limit calculating section C_MH3. If the manipulated variable output upper limit value MH3 is equal to or smaller than the upper limit value MT3, the third preferential upper limit processing section L_MH3 need not update the manipulated variable output upper limit value MH3, and directly outputs the current manipulated variable output upper limit value MH3.

[0084] The third preferential controller PID3 executes PID calculation to calculate a manipulated variable output MV3 (step 209).

[0085] In step 209, the third preferential controller PID3 calculates an internal output value UC3 by PID calculation:

UC 3=Kg 3{1+1/(Ti 3 s)+Td 3 s)(SP 3−PV 3)   (14)

[0086] where Kg3, Ti3, and Td3 are the proportional gain, integral time, and derivative time of the controller PID3, SP3 is the set point set for an object (not shown) to be controlled by the controller PID3, and PV3 is the controlled variable of this object. The proportional gain Kg3, integral time Ti3, derivative time Td3, and set point SP3 are set in advance, and the controlled variable PV3 is detected by a sensor (not shown).

[0087] The third preferential controller PID3 compares the calculated internal output value UC3 and the manipulated variable output upper limit value MH3 output from the third preferential upper limit processing section L_MH3. If the internal output value UC3 is larger than the manipulated variable output upper limit value MH3, the third preferential controller PID3 executes upper limit processing of setting MV3=MH3, i.e., setting the manipulated variable output upper limit value MH3 as the manipulated variable output MV3. If the internal output value UC3 is equal to or smaller than the manipulated variable output upper limit value MH3, the third preferential controller PID3 sets MV3=UC3, i.e., sets the internal output value UC3 as the manipulated variable output MV3.

[0088] The third preferential controller PID3 outputs the calculated manipulated variable output MV3 to an object to be controlled (not shown), the second preferential upper limit calculating section C_MH2, and the fourth preferential upper limit processing section L_MH4. At the same time, the third preferential controller PID3 outputs the internal output value UC3 to the second preferential upper limit calculating section C_MH2 and third preferential upper limit calculating section C_MH3.

[0089] Processing in step 209 then ends.

[0090] The second preferential upper limit calculating section C_MH2 calculates a manipulated variable output upper limit value MH2′ in the next control cycle for the second preferential controller PID2 (step 210).

[0091] In step 210, the second preferential upper limit calculating section C_MH2 checks whether the following inequality is established on the basis of the internal output value UC3 and manipulated variable output MV3 output from the third preferential controller PID3:

α2(UC 3−MV 3)>0   (15)

[0092] where α2 is the priority coefficient representing the control priority of the second preferential controller PID2 with respect to the third preferential controller PID3, and takes a real number of 0 to 1 (priority is highest for 0, and lowest for 1).

[0093] If inequality (15) is established, the second preferential upper limit calculating section C_MH2 calculates by the following equation the manipulated variable output upper limit value MH2′ in the next control cycle for the second preferential controller PID2 on the basis of the manipulated variable output upper limit value MH2 in the current control cycle output from the second preferential upper limit processing section L_MH2, the internal output value UC2 output from the second preferential controller PID2, and the manipulated variable output MV3 and internal output value UC3 output from the third preferential controller PID3. The second preferential upper limit calculating section C_MH2 outputs the manipulated variable output upper limit value MH2′ to the second preferential upper limit processing section L_MH2:

MH 2′=[MH 2 Tx 2+{UC 2−α2(UC 3−MV 3)}dT]/(Tx 2+dT)   (16)

[0094] where Tx2 is the transition time and, e.g., Tx2=Td2.

[0095] If inequality (15) is not established, the second preferential upper limit calculating section C_MH2 calculates the manipulated variable output upper limit value MH2′ on the basis of the predetermined value MT1, and the manipulated variable output upper limit value MH2 in the current control cycle output from the second preferential upper limit processing section L_MH2, and outputs the manipulated variable output upper limit value MH2′ to the second preferential upper limit processing section L_MH2:

MH 2′=[MH 2 Tx 2+MT 1 dT]/(Tx 2+dT)   (17)

[0096] Processing in step 210 then ends.

[0097] The same processes as those in steps 203 to 206 and 207 to 210 are repeated, and the mth preferential upper limit calculating section C_MHm calculates a manipulated variable output upper limit value MHm′ in the next control cycle for the mth preferential controller PIDm. After that, the mth preferential upper limit processing section L_MHm calculates an upper limit value MTm for performing upper limit processing for a manipulated variable output upper limit value MHm of the mth preferential controller PIDm on the basis of a manipulated variable output MVm−1 output from the (m−1)th preferential controller PIDm−1 and an upper limit value MTm−1 output from the (m−1)th preferential upper limit processing section L_MHm−1 (not shown) (step 300):

MTm=MTm−1−MVm−1   (18)

[0098] The mth preferential upper limit processing section L_MHm compares the manipulated variable output upper limit value MHm of the mth preferential controller PIDm and the upper limit value MTm. If the manipulated variable output upper limit value MHm is larger than the upper limit value MTm, the mth preferential upper limit processing section L_MHm sets MHm=MTm, i.e., the upper limit value MTm as a new manipulated variable output upper limit value MHm (step 301).

[0099] The mth preferential upper limit processing section L_MHm outputs the updated manipulated variable output upper limit value MHm to the mth preferential controller PIDm and mth preferential upper limit calculating section C_MHm. If the manipulated variable output upper limit value MHm is equal to or smaller than the upper limit value MTm, the mth preferential upper limit processing section L_MHm need not update the manipulated variable output upper limit value MHm, and directly outputs the current manipulated variable output upper limit value MHm.

[0100] The mth preferential controller PIDm executes PID calculation to calculate a manipulated variable output MVm (step 302).

[0101] In step 302, the mth preferential controller PIDm calculates an internal output value UCm by PID calculation:

UCm=Kgm{1+1/(Tim s)+Tdm s}(SPm−PVm)   (19)

[0102] where Kgm, Tim, and Tdm are the proportional gain, integral time, and derivative time of the controller PIDm, SPm is the set point set for an object (not shown) to be controlled by the controller PIDm, and PVm is the controlled variable of this object. The proportional gain Kgm, integral time Tim, derivative time Tdm, and set point SPm are set in advance, and the controlled variable PVm is detected by a sensor (not shown).

[0103] The mth preferential controller PIDm compares the calculated internal output value UCm and the manipulated variable output upper limit value MHm output from the mth preferential upper limit processing section L_MHm. If the internal output value UCm is larger than the manipulated variable output upper limit value MHm, the mth preferential controller PIDm executes upper limit processing of setting MVm=MHm, i.e., setting the manipulated variable output upper limit value MHm as the manipulated variable output MVm. If the internal output value UCm is equal to or smaller than the manipulated variable output upper limit value MHm, the mth preferential controller PIDm sets MVm=UCm, i.e., sets the internal output value UCm as the manipulated variable output MVm.

[0104] The mth preferential controller PIDm outputs the calculated manipulated variable output MVm to an object to be controlled (not shown), the (m−1)th preferential upper limit calculating section C_MHm−1, and the non-preferential upper limit calculating section C_MHn. At the same time, the mth preferential controller PIDm outputs the internal output value UCm to the (m−1)th preferential upper limit calculating section C_MHm−1 and mth preferential upper limit calculating section C_MHm.

[0105] Processing in step 302 then ends.

[0106] The (m−1)th preferential upper limit calculating section C_MHm−1 calculates a manipulated variable output upper limit value MHm−1′ in the next control cycle for the (m−1)th preferential controller PIDm−1 (step 303).

[0107] In step 303, the (m−1)th preferential upper limit calculating section C_MHm−1 checks whether the following inequality is established on the basis of the internal output value UCm and manipulated variable output MVm output from the mth preferential controller PIDm:

αm−1(UCm−Mvm)>0   (20)

[0108] where αm−1 is the priority coefficient representing the control priority of the (m−1)th preferential controller PIDm−1 with respect to the mth preferential controller PIDm, and takes a real number of 0 to 1 (priority is highest for 0, and lowest for 1).

[0109] If inequality (20) is established, the (m−1)th preferential upper limit calculating section C_MHm−1 calculates by the following equation the manipulated variable output upper limit value MHm−1′ in the next control cycle for the (m−1)th preferential controller PIDm−1 on the basis of the manipulated variable output upper limit value MHm−1 in the current control cycle output from the (m−1)th preferential upper limit processing section L_MHm−1, the internal output value UCm−1 output from the (m−1)th preferential controller PIDm−1, and the manipulated variable output MVm and internal output value UCm output from the mth preferential controller PIDm. The (m−1)th preferential upper limit calculating section C_MHm−1 outputs the manipulated variable output upper limit value MHm−1′ to the (m−1)th preferential upper limit processing section L_MHm−1:

MHm−1′=[MHm−1Txm−1+{UCm−1−αm−1(UCm−MVm)}dT]/(Txm−1+dT)   (21)

[0110] where Txm−1 is the transition time and, e.g., Txm−1=Tdm−1.

[0111] If inequality (20) is not established, the (m−1)th preferential upper limit calculating section C_MHm−1 calculates the manipulated variable output upper limit value MHm−1′ on the basis of the predetermined value MT1, and the manipulated variable output upper limit value MHm−1 in the current control cycle output from the (m−1)th preferential upper limit processing section L_MHm−1, and outputs the manipulated variable output upper limit value MHm−1′ to the (m−1)th preferential upper limit processing section L_MHm−1:

MHm−1′=[MHm−1Txm−1+MT 1 dT]/(Txm−1+dT)   (22)

[0112] Processing in step 303 then ends.

[0113] The non-preferential upper limit calculating section C_MHn calculates a manipulated variable output upper limit value MHn representing the upper limit of a manipulated variable output MVn from the non-preferential controller PIDn on the basis of the manipulated variable output MVm output from the mth preferential controller PIDm and the upper limit value MTm output from the mth preferential upper limit processing section L_MHm, and outputs the manipulated variable output upper limit value MHn to the non-preferential controller PIDn (step 304):

MHn=MTm−MVm   (23)

[0114] The non-preferential controller PIDn executes PID calculation to calculate the manipulated variable output MVn (step 305).

[0115] In step 305, the non-preferential controller PIDn calculates an internal output value UCn by PID calculation:

UCn=Kgn{1+1/(Tin s)+Tdn s}(SPn−PVn)   (24)

[0116] where Kgn, Tin, and Tdn are the proportional gain, integral time, and derivative time of the controller PIDn, SPn is the set point set for an object (not shown) to be controlled by the controller PIDn, and PVn is the controlled variable of this object. The proportional gain Kgn, integral time Tin, derivative time Tdn, and set point SPn are set in advance, and the controlled variable PVn is detected by a sensor (not shown).

[0117] The non-preferential controller PIDn compares the calculated internal output value UCn and the manipulated variable output upper limit value MHn output from the non-preferential upper limit calculating section C_MHn. If the internal output value UCn is larger than the manipulated variable output upper limit value MHn, the non-preferential controller PIDn executes upper limit processing of setting MVn=MHn, i.e., setting the manipulated variable output upper limit value MHn as the manipulated variable output MVn. If the internal output value UCn is equal to or smaller than the manipulated variable output upper limit value MHn, the non-preferential controller PIDn sets MVn=UCn, i.e., sets the internal output value UCn as the manipulated variable output MVn.

[0118] The non-preferential controller PIDn outputs the calculated manipulated variable output MVn to the object to be controlled (not shown) and the mth preferential upper limit calculating section C_MHm. At the same time, the non-preferential controller PIDn outputs the internal output value UCn to the preferential upper limit calculating section C_MHm.

[0119] Processing in step 305 then ends.

[0120] The mth preferential upper limit calculating section C_MHm calculates a manipulated variable output upper limit value MHm′ in the next control cycle for the mth preferential controller PIDm (step 306).

[0121] In step 306, the preferential upper limit calculating section C_MHm checks whether the following inequality is established on the basis of the internal output value UCn and manipulated variable output MVn output from the non-preferential controller PIDn:

αm(UCn−MVn)>0   (25)

[0122] where αm is the priority coefficient representing the control priority of the mth preferential controller PIDm with respect to the non-preferential controller PIDn, and takes a real number of 0 to 1 (priority is highest for 0, and lowest for 1).

[0123] If inequality (25) is established, the mth preferential upper limit calculating section C_MHm calculates by the following equation the manipulated variable output upper limit value MHm′ in the next control cycle for the preferential controller PIDm on the basis of the manipulated variable output upper limit value MHm in the current control cycle output from the mth preferential upper limit processing section L_MHm, the internal output value UCm output from the mth preferential controller PIDm, and the manipulated variable output MVn and internal output value UCn output from the non-preferential controller PIDn. The mth preferential upper limit calculating section C_MHm outputs the manipulated variable output upper limit value MHm′ to the mth preferential upper limit processing section L_MHm:

MHm′=[MHm Txm+{UCm−αm(UCn−MVn)}dT]/(Txm+dT)   (26)

[0124] where Txm is the transition time and, e.g., Txm=Tdm.

[0125] If inequality (25) is not established, the preferential upper limit calculating section C_MHm calculates the manipulated variable output upper limit value MHm′ on the basis of the predetermined value MT1, and the manipulated variable output upper limit value MHm in the current control cycle output from the mth preferential upper limit processing section L_MHm, and outputs the manipulated variable output upper limit value MHm′ to the preferential upper limit processing section L_MHm:

MHm′=[MHm Txm+MT 1 dT]/(Txm+dT)   (27)

[0126] Processing in step 306 then ends.

[0127] Steps 201 to 306 are defined as processing in one control cycle, and processing from step 201 to step 306 is repeated every control cycle dT.

[0128] Note that the ith (i=1 to m) preferential upper limit processing section L_MHi executes processes in steps 201, 204, 208, and 301 by setting MHi=MHi′, i.e., setting, as the manipulated variable output upper limit value MHi in the current control cycle, the manipulated variable output upper limit value MHi′ calculated and output from the ith preferential upper limit calculating section C_MHi in the preceding control cycle.

[0129] In this fashion, in the second embodiment, the manipulated variable output upper limit value MH2 of the second preferential controller PID2 is set to MT1-MV1 (step 203), . . . , the manipulated variable output upper limit value MH3 of the third preferential controller PID3 is set to MT1-MV1-MV2 (step 207), . . . , the manipulated variable output upper limit value MHn of the non-preferential controller PIDn is set to MTm-MVm (step 304) in order to always maintain the sum of the manipulated variable output MV1 of the first preferential controller PID1, the manipulated variable output MV2 of the second preferential controller PID2, . . . , the output MVn of the non-preferential controller PIDn at the predetermined value MT1 or less.

[0130] If inequality (10) is not established, i.e., the internal output value UC2 of the non-preferential controller PID2 has a margin with respect to the manipulated variable output upper limit value MH2 (UC2≦MH2), the manipulated variable output upper limit value MH1 of the first preferential controller PID1 is increased using equation (12) to make the manipulated variable output upper limit value MH1 asymptotically come close to the predetermined value MT1 (step 206). As a result, the first preferential controller PID1 can output a larger manipulated variable output MV1.

[0131] If inequality (10) is established, i.e., the internal output value UC2 of the second preferential controller PID2 does not have any margin with respect to the manipulated variable output upper limit value MH2 (UC2>MH2), the manipulated variable output upper limit value MH1 of the first preferential controller PID1 is asymptotically adjusted in a direction in which the manipulated variable output upper limit value MH1 decreases by an output shortage (UC2-MV2) of the second preferential controller PID2 (step 206). This suppresses the manipulated variable output MV1 of the first preferential controller PID1. When inequality (10) is established and the manipulated variable output upper limit value MH1 of the first preferential controller PID1 is to be decreased, the output shortage (UC2-MV2) of the second preferential controller PID2 serving as the decrease index is multiplied by the priority coefficient α1. By adjusting the value of the priority coefficient α1, excessive precedence of the first preferential controller PID1 can be prevented, and the controllability of the second preferential controller PID2 can also be properly maintained within a possible range.

[0132] Similarly, when the manipulated variable output MVj+1 of the (j+1)th controller PIDj+1 has a margin with respect to the (j+1)th (j is an integer of 2 to m) manipulated variable output upper limit MHj+1, the manipulated variable output upper limit MHj of the jth controller PID1 is increased to make the manipulated variable output upper limit MHj asymptotically come close to the predetermined value MT1. Thus, the jth controller PIDj can output a larger manipulated variable output MVj.

[0133] When the manipulated variable output MVj+1 of the (j+1)th controller PIDj+1 does not have any margin with respect to the (j+1)th manipulated variable output upper limit MHj+1, the manipulated variable output upper limit MHj of the jth controller PIDj is asymptotically adjusted in a direction in which the manipulated variable output upper limit MHj decreases by an output shortage (UCj+1-MVj+1) of the (j+1)th controller PIDj+1. This suppresses the manipulated variable output MVj of the jth controller PIDj.

[0134] In decreasing the manipulated variable output upper limit value MHj of the jth controller PIDj, the output shortage (UCj+1-MVj+1) of the (j+1)th controller PIDj+1 serving as the decrease index is multiplied by the priority coefficient αj. By adjusting the value of the priority coefficient αj, excessive precedence of the jth controller PIDj can be prevented, and the controllability of the (j+1)th controller PIDj+1 can also be properly maintained within a possible range.

[0135] In this way, the second embodiment can maintain the sum of the manipulated variable outputs MV1, MV2, . . . , MVn of n loops at the predetermined value MT1 or less, and can maintain a high-priority controlled variable in a good control state.

[0136] In the above-described application, the heater output may be given in time-proportional time division. For example, for four loops of a system having a maximum heater output of 400 W, the sum of the manipulated variable outputs of the four loops is maintained at 100% or less. This requires only a 400-W power equipment such as a power supply, reducing the apparatus size and cost. If the present invention is not applied, a 1,600-W power equipment is required.

[0137] In the second embodiment, the manipulated variable output upper limit values MH1, MH2, MH3, . . . , MHm in the first control cycle are set to, e.g., 100%.

[0138] According to the second embodiment, the kth manipulated variable output upper limit value input in advance is limited and given to the kth controller such that the sum of the manipulated variable outputs of the first to kth (k is an integer of 1 to m) controllers becomes equal to or smaller than a predetermined value representing the manipulated variable output upper limit of the whole apparatus. The nth manipulated variable output upper limit is calculated and given to the nth controller such that the sum of the manipulated variable outputs of the first to mth and nth controllers becomes equal to or smaller than the predetermined value. Calculation of increasing/decreasing the kth manipulated variable output upper limit in accordance with the margin of the manipulated variable output of the (k+1)th controller with respect to the (k+1)th manipulated variable output upper limit is performed. The calculated value is set as the kth manipulated variable output upper limit in the next control cycle. Hence, good controllability can be obtained for the preferential controller while maintaining the sum of the manipulated variable outputs of the n loops at the predetermined value or less. The controllability of even the non-preferential controller can also be maintained at a given degree. The controllability and energy consumption amount of each controller can be satisfied within an acceptable range. As a result, the controllability of each controller and downsizing of the controlling device can be met. The usable ability of the controlling device can be fully exploited. When the manipulated variable output of the (k+1)th controller does not have any margin with respect to the (k+1)th manipulated variable output upper limit, the kth manipulated variable output upper limit is decreased. The degree of decrease is changed in accordance with the priority of the kth controller with respect to the (k+1)th controller. Excessive precedence of the kth controller can be prevented, and even the controllability of the (k+1)th controller can also be properly maintained within a possible range.

[0139] As has been described above, the present invention is suitable for control using a plurality of controllers. 

1. A controlling device which performs control using two controllers within a predetermined energy consumption amount, characterized by comprising: (1) a preferential controller which calculates a manipulated variable output in accordance with a first manipulated variable output upper limit; (2) a non-preferential controller which calculates a manipulated variable output in accordance with a second manipulated variable output upper limit; (3) a preferential upper limit processing section which limits a value of the first manipulated variable output upper limit input in advance and gives the first manipulated variable output upper limit to said preferential controller so as to adjust the manipulated variable output of said preferential controller to not more than a predetermined value representing a manipulated variable output upper limit of a whole apparatus; (4) a non-preferential upper limit calculating section which calculates the second manipulated variable output upper limit and gives the second manipulated variable output upper limit to said non-preferential controller so as to adjust a sum of the manipulated variable outputs of said preferential and non-preferential controllers to not more than the predetermined value; and (5) a preferential upper limit calculating section which performs calculation of increasing/decreasing the first manipulated variable output upper limit in accordance with a margin of the manipulated variable output of said non-preferential controller with respect to the second manipulated variable output upper limit, and gives a calculated value as the first manipulated variable output upper limit in a next control cycle to said preferential upper limit processing section.
 2. A controlling device which performs control using n (n is an integer of not less than three) controllers within a predetermined energy consumption amount, characterized by comprising: (1) first to mth controllers which are assigned first to mth (m is n−1) priorities in advance and calculate manipulated variable outputs in accordance with first to mth corresponding manipulated variable output upper limits; (2) an nth controller which is assigned a lowest priority in advance and calculates a manipulated variable output in accordance with an nth manipulated variable output upper limit; (3) first to mth preferential upper limit processing sections which are arranged for k (k is an integer of 1 to m) controllers, limit a value of a kth manipulated variable output upper limit input in advance, and give the k manipulated variable output upper limit to a kth controller so as to adjust a sum of the manipulated variable outputs of said first to kth controllers to not more than a predetermined value representing a manipulated variable output upper limit of a whole apparatus; (4) a non-preferential upper limit calculating section which calculates the nth manipulated variable output upper limit and gives the nth manipulated variable output upper limit to said nth controller so as to adjust a sum of the manipulated variable outputs of said first to mth and nth controllers to not more than the predetermined value; and (5) first to mth preferential upper limit calculating sections which are arranged for the k controllers, perform calculation of increasing/decreasing the k manipulated variable output upper limit in accordance with a margin of the manipulated variable outputs of a (k+1)th controller with respect to a (k+1)th manipulated variable output upper limit, and give a calculated value as the kth manipulated variable output upper limit in a next control cycle to a kth preferential upper limit processing section.
 3. A controlling device according to claim 1, characterized in that said preferential upper limit calculating section increases the first manipulated variable output upper limit when the manipulated variable output of said non-preferential controller has a margin with respect to the second manipulated variable output upper limit, decreases the first manipulated variable output upper limit when the manipulated variable output does not have any margin, and changes a degree of decrease in accordance with priority of said preferential controller with respect to said non-preferential controller.
 4. A controlling device according to claim 2, characterized in that said kth preferential upper limit calculating section for said kth controller increases the kth manipulated variable output upper limit when the manipulated variable output of said (k+1)th controller has a margin with respect to the (k+1)th manipulated variable output upper limit, decreases the kth manipulated variable output upper limit when the manipulated variable output does not have any margin, and changes a degree of decrease in accordance with priority of said kth controller with respect to said (k+1)th controller.
 5. In a controlling device which performs control using two, preferential and non-preferential controllers within a predetermined energy consumption amount, a control method characterized by comprising repetitively performing: (1) preferential upper limit processing of limiting a value of a first manipulated variable output upper limit input in advance so as to adjust a manipulated variable output of the preferential controller to not more than a predetermined value representing a manipulated variable output upper limit of a whole apparatus; (2) preferential manipulated variable output calculation processing of calculating a manipulated variable output by the preferential controller in accordance with the first manipulated variable output upper limit; (3) non-preferential upper limit calculation processing of calculating a second manipulated variable output upper limit so as to adjust a sum of manipulated variable outputs of the preferential and non-preferential controllers to not more than the predetermined value; (4) non-preferential manipulated variable output calculation processing of calculating a manipulated variable output by the non-preferential controller in accordance with the second manipulated variable output upper limit; and (5) preferential upper limit calculation processing of performing calculation of increasing/decreasing the first manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the non-preferential controller with respect to the second manipulated variable output upper limit, and giving a calculated value as the first manipulated variable output upper limit in a next control cycle to the preferential upper limit processing.
 6. In a controlling device which performs control using n controllers assigned first to nth (n is an integer of not less than three) priorities in advance within a predetermined energy consumption amount, a control method characterized by comprising: performing (1) first preferential upper limit processing of limiting a value of a first manipulated variable output upper limit input in advance so as to adjust a manipulated variable output of a first controller to not more than a predetermined value representing a manipulated variable output upper limit of a whole apparatus, (2) first preferential manipulated variable output calculation processing of calculating a manipulated variable output by the first controller in accordance with the first manipulated variable output upper limit, (3) second preferential upper limit processing of calculating a second manipulated variable output upper limit so as to adjust a sum of manipulated variable outputs of the first controller and a second controller to not more than the predetermined value, (4) second preferential manipulated variable output calculation processing of calculating a manipulated variable output by the second controller in accordance with the second manipulated variable output upper limit, and (5) first preferential upper limit calculation processing of performing calculation of increasing/decreasing the first manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the second controller with respect to the second manipulated variable output upper limit, and giving a calculated value as the first manipulated variable output upper limit in a next control cycle to the first preferential upper limit processing; P sequentially performing (6) three processes for i (i is an integer of 3 to m) controllers: ith preferential upper limit processing of limiting a value of an ith manipulated variable output upper limit input in advance so as to adjust a sum of manipulated variable outputs of the first to ith controllers to not more than the predetermined value, ith preferential manipulated variable output calculation processing of calculating the manipulated variable output by the ith controller in accordance with the ith manipulated variable output upper limit, and (i−1)th preferential upper limit calculation processing of performing calculation of increasing/decreasing an (i−1)th manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the ith controller with respect to the ith manipulated variable output upper limit, and giving a calculated value as the (i−1)th manipulated variable output upper limit in a next control cycle to the (i−1)th preferential upper limit processing; performing (7) non-preferential upper limit calculation processing of calculating an nth manipulated variable output upper limit so as to adjust a sum of manipulated variable outputs of the first to mth and nth controllers to not more than the predetermined value, (8) non-preferential manipulated variable output calculation processing of calculating a manipulated variable output by the nth controller in accordance with the nth manipulated variable output upper limit, and (9) mth preferential upper limit calculation processing of performing calculation of increasing/decreasing an mth manipulated variable output upper limit in accordance with a margin of the manipulated variable output of the nth controller with respect to the nth manipulated variable output upper limit, and giving a calculated value as the mth manipulated variable output upper limit in a next control cycle to mth preferential upper limit processing; and repetitively performing processing in (1) to (9).
 7. A controlling method according to claim 5, characterized in that the preferential upper limit calculation processing includes processing of increasing the first manipulated variable output upper limit when the manipulated variable output of the non-preferential controller has a margin with respect to the second manipulated variable output upper limit, decreasing the first manipulated variable output upper limit when the manipulated variable output does not have any margin, and changing a degree of decrease in accordance with priority of the preferential controller with respect to the non-preferential controller.
 8. A controlling method according to claim 6, characterized in that kth preferential upper limit calculation processing for the kth (k is an integer of 1 to m) controller includes processing of increasing the kth manipulated variable output upper limit when a manipulated variable output of the (k+1)th controller has a margin with respect to the (k+1)th manipulated variable output upper limit, decreasing the kth manipulated variable output upper limit when the manipulated variable output does not have any margin, and changing a degree of decrease in accordance with priority of the kth controller with respect to the (k+1)th controller. 